import java.util.concurrent.ArrayBlockingQueue;
import java.util.concurrent.Executors;
import java.util.concurrent.ThreadPoolExecutor;
import java.util.concurrent.TimeUnit;

public class ThreadPool2 {
    public static void main(String[] args) {
//        final ThreadPoolExecutor threadPoolExecutor = new ThreadPoolExecutor(
//                3,  //核心线程数
//                5,  //最大线程数
//                1L, //当线程数大于核心数时，这是多余空闲线程在终止前等待新任务的最长时间。
//                TimeUnit.SECONDS,   // 时间单位
//                new ArrayBlockingQueue<>(3),    //等待队列
//                Executors.defaultThreadFactory(),   //执行程序创建新线程时使用的工厂
//                new ThreadPoolExecutor.AbortPolicy()    //任务溢出时处理程序
//        );
//        for (int i = 0; i < 9; i++) {
//            threadPoolExecutor.execute(()->{
//                System.out.println(Thread.currentThread().getName()+"----》run");
//            });
//        }
//        threadPoolExecutor.shutdown(); //一定要关闭线程池
        String s = "1";
        System.out.println(s.charAt(0));
        System.out.println(s.length());
    }
}
